home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / SPREOTUS / 123TECH.LZH / PICFIL.TXT < prev    next >
Text File  |  1984-03-19  |  4KB  |  106 lines

  1.       LOTUS 1-2-3 (TM) .PIC FILE FORMAT DETAILS
  2.  
  3.     THIS IS A PARTIAL DECODING OF THE SAMPLE PIE-CHART FILE
  4. FACILITY.PIC WHICH COMES ON THE PRINTGRAPH DISK (OR DID,ANY-
  5. WAY, ON MINE). THE HEX LISTING IS THE DATA YOU WOULD SEE ON A
  6. DEBUG DISPLAY OF THE FILE'S CONTENTS; THE REST OF EACH LINE IS
  7. MY INTERPRETATION OF THE MEANING, VERIFIED IN MOST CASES BY
  8. PATCHING OTHER DATA INTO THE FILE, MAKING A PLOT, AND SEEING
  9. WHAT EFFECT THE CHANGES MADE.
  10.  
  11. HEX    MEANING OF DATA
  12. ------    -----------------------------------------------------
  13. 0100    HEADER WORD 1, VALUE 0001 (BYTES REVERSED IN FILE)
  14. 0000    HEADER WORD 2
  15. 0100    HEADER WORD 3
  16. 0800    HEADER WORD 4
  17. 4400    HEADER WORD 5
  18. 0000    HEADER WORD 6
  19.     SIGNIFICANCE OF THESE 6 HEADER WORDS IS NOT KNOWN, BUT
  20.     CHANGES TO THEM OFTEN RESULT IN DIVIDE OVERFLOW ERRORS
  21.     WHEN PRINTGRAPH ATTEMPTS TO PLOT THE CHANGED FILE.
  22. 000C    X-COORDINATE SCALING FACTOR, DECIMAL 3072
  23. 7F09    Y-COORDINATE SCALING FACTOR, DECIMAL 2431
  24.     CHANGES TO THESE SCALING FACTORS, WITHIN REASON, WILL
  25.     CHANGE THE SIZE OF THE PLOTTED GRAPH ON THE PAGE
  26. 06    START OF PLOT DATA. FROM HERE ON, 16-BIT QUANTITIES
  27.     ARE STORED IN THE FILE HIGH BYTE FIRST, THEN LOW -- THE
  28.     EXACT REVERSE OF 8086/8088 STANDARD USED IN THE FIRST
  29.     SIX WORDS.
  30. A7    SELECT FONT...
  31.   01    ...NUMBER 2
  32. B0    SELECT COLOR NUMBER 1 (B1=COLOR 2, ETC.)
  33. A700    SELECT FONT 1
  34. AC    SET CHARACTER SIZE TO...
  35.   008C    ...X=140 AND...
  36.   0078    ...Y=120. NOTE HI-LO BYTE REVERSAL.
  37. A0    MOVE, WITH PEN UP, TO...
  38.   063F    ...X=1599 AND...
  39.   0906    ...Y=2310. COORDINATE 0,0 IS AT LOWER LEFT OF SCREEN.
  40. A8    PRINT LABEL...
  41.   02    ...CENTERED HORIZONTALLY BELOW POINT 1599,2310...
  42.     42    B    (ASCII CHARACTERS FOLLOW, FOR LABEL)
  43.     55    U
  44.     44    D
  45.     47    G
  46.     45    E
  47.     54    T
  48.     00    ...END OF LABEL
  49. AC    SET CHARACTER SIZE TO...
  50.   0046    ...X=70 AND...
  51.   003C    ...Y=60
  52. A701    SELECT FONT NUMBER 2
  53. A0    MOVE, WITH PEN UP, TO...
  54.   063F    ...X=1599...
  55.   083E    ...Y=2110
  56. A8    PRINT LABEL...
  57.   04    ...CENTERED HORIZONTALLY ABOVE POINT 1599,2110...
  58.     46 55 4E 43 54 49 4F 4E 00    "FUNCTION"
  59. A0    MOVE, WITH PEN UP, TO...
  60.   0907    ...X=2311...
  61.   040B    ...Y=1035 (START TO DRAW PIE, AT RIGHTMOST EDGE)
  62. A2    DRAW, WITH PEN DOWN, TO...
  63.   0906    ...X=2310...
  64.   03F0    ...Y=1008
  65. A2    DRAW, WITH PEN DOWN, TO...
  66.   0904    ...X=2308...
  67.   03D4    ...Y=980
  68.     ...THIS GOES ON FOR MANY PAGES OF DEBUG LISTING, BUT
  69.     IT ALL FOLLOWS THE ABOVE PATTERN. AT THE END...
  70. 60    END OF PLOT DATA
  71. 1A    DOS EOF MARKER BYTE
  72.  
  73. THE BYTE WHICH FOLLOWS THE A8 "LABEL" MARKER INDICATES LABEL
  74. PLACEMENT WITH RESPECT TO THE MOST RECENTLY ESTABLISHED PEN
  75. LOCATION, AND ORIENTATION OF THE LABEL ON THE PAGE. THE LOW
  76. FOUR BITS, TAKEN MOD 9, INDICATE PLACEMENT:
  77.     X0    LABEL CENTERED VERTICALLY AND HORIZONTALLY
  78.             OVER THE POINT
  79.     X1    LABEL CENTERED VERTICALLY, EXTENDING TO THE
  80.             RIGHT OF THE POINT
  81.     X2    LABEL CENTERED HORIZONTALLY BELOW THE POINT
  82.     X3    LABEL CENTERED VERTICALLY, EXTENDING TO THE
  83.             LEFT OF THE POINT
  84.     X4    LABEL CENTERED HORIZONTALLY ABOVE THE POINT
  85.     X5    LOWER RIGHT CORNER OF LABEL ON THE POINT
  86.     X6    LOWER LEFT CORNER OF LABEL ON THE POINT
  87.     X7    UPPER RIGHT CORNER OF LABEL ON THE POINT
  88.     X8    UPPER LEFT CORNER OF LABEL ON THE POINT
  89. THE NEXT HIGHER TWO BITS INDICATE ROTATION OF THE ENTIRE LABEL,
  90. INCLUDING PLACEMENT, WITH RESPECT TO THE REST OF THE GRAPH:
  91.     0X    NORMAL PLACEMENT (0-DEGREE ROTATION)
  92.     1X    ROTATED 90 DEGREES CCW
  93.     2X    ROTATED 180 DEGREES (UPSIDE DOWN)
  94.     3X    ROTATED 270 DEGREES CCW (90 DEGREES CW)
  95. NO "OPCODE" BYTES OTHER THAN THOSE LISTED ABOVE HAVE BEEN FOUND
  96. IN ANY OF THE .PIC FILES I HAVE EXAMINED; OTHERS MAY BE USED,
  97. HOWEVER. THIS INFORMATION SHOULD BE ENOUGH TO LET YOU CHANGE
  98. FONTS OR LABEL PLACEMENT IN .PIC FILES, USING DEBUG TO DO THE
  99. HEX PATCHING. MY SOFTWARE PUBLISHING ENTERPRISE, "THE SOFTWARE
  100. FACTORY", IS DEVELOPING A USER-FRIENDLY EDITOR TO PERMIT YOU
  101. TO EDIT .PIC FILES WITHOUT THE NEED FOR HEX PATCHES; IT WILL
  102. ALLOW ADDITIONAL TEXT TO BE ADDED TO A GRAPH, OR ANY WORDING
  103. TO BE CHANGED. LEAVE A MESSAGE TO 73105,1650 HERE OR ON SASIG,
  104. OR USE EMAIL, IF YOU'RE INTERESTED IN GETTING AN ANNOUNCEMENT
  105. WHEN IT IS READY.        JIM KYLE, 12 MARCH 1984
  106.